/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controller.all;

import dao.NguoidungDAO;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
import util.MailUtils;
import util.Utils;

/**
 *
 * @author BlueZky
 */
public class quenMatKhauController extends AbstractController {

    public quenMatKhauController() {
    }

    @Override
    protected ModelAndView handleRequestInternal(
            HttpServletRequest request,
            HttpServletResponse response) throws Exception {
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        response.setContentType("UTF-8");
        ModelAndView mv = new ModelAndView("All/quenmatkhau");
        String action = request.getParameter("a");

        if (action != null && action.compareTo("reset") == 0) {
            String eMail = request.getParameter("email");
            
            // Neu dia chi email duoc nhap vao thi xu ly tiep
            if (eMail == null || eMail.length() < 7) {
                mv.addObject("message", "Địa chỉ mail nhập vào không hợp lệ!");
            } else {
                
                // Kiem tra xem email co thuc su ton tai khong
                if (NguoidungDAO.kiemTraMail(eMail)) {
                    
                    //Neu Email thuc su ton tai thi tao mat khau moi va luu vao csdl
                    String matKhauMoi = Utils.generatePassword();
                    if (NguoidungDAO.suaMatKhau(eMail, matKhauMoi)) {
                        
                        // Gui mail thong bao mat khau cho nguoi dung;
                        MailUtils mu = new MailUtils();
                        mu.getInstance();
                        mu.sendMail( eMail,"","","Bạn vừa reset lại mật khẩu","Mật khẩu mới: " + matKhauMoi);
                        
                        mv.addObject("message", "Mật khẩu mới đã được gửi qua email của bạn. Vui lòng kiểm tra hộp thư đến");
                    } else{
                        mv.addObject("message", "Địa chỉ mail nhập vào không hợp lệ!");
                    }
                } else {
                    
                    // Neu khong ton tai thi thong bao lai cho nguoi dung.
                    mv.addObject("message", "Địa chỉ mail bạn nhập vào không tồn tại!");
                }
            }
        }

        return mv;
    }
}
